Data is Lost in result of type conversion (DL)

Description:

This message is reported when significant bits are lost because of a conversion from a larger integer type to a smaller integer type.

Incorrect:

procedure ex(x:integer);
var b: shortint;
begin
    if x > 1000 then
        b := SByte(x);
end;